tg-me.com/BookPython/3642
Last Update:
💡 Как избежать повторения кода с помощью functools.partial
Как упростить код и избежать дублирования с помощью functools.partial
.
Допустим, у нас есть функция send_email(to, subject, body, is_html=False)
, и мы часто вызываем её с одним и тем же параметром is_html=True
.
Вместо того чтобы каждый раз писать это явно, можно создать частичную функцию:
from functools import partial
send_html_email = partial(send_email, is_html=True)
# Теперь можно вызывать проще:
send_html_email("[email protected]", "Привет", "<b>Как дела?</b>")
Это удобно, если вы хотите предварительно зафиксировать часть аргументов, например:
* логгеры с предустановленным уровнем
* коннекторы с общими параметрами
* команды CLI с типовыми флагами
Таким образом, вы уменьшаете дублирование и делаете код читаемее. А ещё это красивый способ внедрить DI без фреймворков — просто передайте
partial
.👉@BookPython
BY Библиотека Python разработчика | Книги по питону
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/BookPython/3642